package 包装类.自动装箱和自动拆箱;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 姚东名
 * Date: 2024-06-24
 * Time: 15:46
 */
public class Test {
    //下列代码输出是什么，为什么？
    public static void main(String[] args) {
        Integer a = 127;
        Integer b = 127;

        Integer c = 128;
        Integer d = 128;

        System.out.println(a == b);//true
        System.out.println(c == d);//false
    }

    public static void main3(String[] args) {
        Integer a = 100;
        Integer b = 200;

    }

    //可以看到在使用过程中，装箱和拆箱带来不少的代码量，所以为了减少开发者的负担，java 提供了自动机制。
    public static void main2(String[] args) {
        int a = 10;

        Integer b = a;
        Integer c = (Integer) a;

        int j = b;
        int k = (Integer) b;
    }

    public static void main1(String[] args) {
        int i = 10;

        //装箱操作：新建一个Integer类型对象，将i的值放进对象的某个属性中
        Integer ii = Integer.valueOf(i);
        Integer ij = new Integer(i);

        //拆箱操作：将Integer对象中的值取出，放到一个基本数据类型中
        int j = ii.intValue();
    }
}
